﻿using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Linq;
using System.Reactive;
using System.Reactive.Subjects;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace SimpleActor.Test.SimpleActor
{
    [TestClass]
    public class MessageHandlingStatusExtensionsTest
    {
        [TestMethod]
        public void CanNextTest()
        {
            MessageHandlingStatus.Handled.CanNext().Is(true);
            MessageHandlingStatus.TimedOut.CanNext().Is(true);
            MessageHandlingStatus.Completed.CanNext().Is(false);

            var dummy = (MessageHandlingStatus)int.MaxValue;
            AssertEx.Throws<InvalidEnumArgumentException>(() => dummy.CanNext());

        }
    }
}
